package org.rency.mq.kafka.consumer.handler;

import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;

/**
 * ${todo}
 *
 * @author: Created by user_rcy@163.com on 2016/10/27.
 * @version: V1.0.0
 * @since JDK 1.8
 */
public abstract class AbstractMessageHandler<K, V> extends AbstractHandler<K, V>{

    private String groupName;

    private String topicName;

    private Class<?> keyGenericClass;

    private Class<?> valueGenericClass;

    private ThreadPoolTaskExecutor taskExecutor;

    @Override
    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    @Override
    public String getTopicName() {
        return topicName;
    }

    public void setTopicName(String topicName) {
        this.topicName = topicName;
    }

    @Override
    public Class<?> getKeyGenericClass() {
        return keyGenericClass;
    }

    public void setKeyGenericClass(Class<?> keyGenericClass) {
        this.keyGenericClass = keyGenericClass;
    }

    @Override
    public Class<?> getValueGenericClass() {
        return valueGenericClass;
    }

    public void setValueGenericClass(Class<?> valueGenericClass) {
        this.valueGenericClass = valueGenericClass;
    }

    @Override
    public ThreadPoolTaskExecutor getTaskExecutor() {
        return taskExecutor;
    }

    public void setTaskExecutor(ThreadPoolTaskExecutor taskExecutor) {
        this.taskExecutor = taskExecutor;
    }
}